public class Outclass {

//    private int a;
//    static int b;
//    int c;
//
//    public void methodA() {
//
//        a = 10;
//        System.out.println(a);
//    }
//
//    public static void methodB() {
//        System.out.println(b);
//    }
//
//    class InnerClass {
//        int c;
//        public void methodInner() {
//            a = 100;
//            b = 200;
//            methodA();
//            methodB();
//
//            c = 300;
//            System.out.println(c);
//
//            Outclass.this.c = 400;
//            System.out.println(Outclass.this.c);
//        }
//    }
//
//    public static void main(String[] args) {
//
//        Outclass outClass = new Outclass();
//        System.out.println(outClass.a);
//        System.out.println(Outclass.b);
//        System.out.println(outClass.c);
//        outClass.methodA();
//        outClass.methodB();
//
//        System.out.println("====================实例内部类的访问========================");
//
//        Outclass.InnerClass innerClass1 = new Outclass().new InnerClass();
//
//        Outclass.InnerClass innerClass2 = outClass.new InnerClass();
//        innerClass2.methodInner();
//
//    }

    private int a;
    static int b;
    int c;

    public void methodA() {
        a = 10;
        System.out.println(a);
    }

    public static void methodB() {
        System.out.println(b);
    }

    class InnerClass{

        int c;
        public void methodinner() {

            a = 100;
            b = 200;
            methodA();
            methodB();

            c = 300;
            System.out.println(c);

            Outclass.this.c = 10;
            System.out.println(Outclass.this.c);

        }

    }

    public static void main(String[] args) {

        Outclass outclass = new Outclass();
        System.out.println(outclass.a);
        System.out.println(outclass.b);
        System.out.println(outclass.c);
        outclass.methodA();
        Outclass.methodB();

        System.out.println("=====================实例内部类的访问====================");


        Outclass.InnerClass innerclass1 = new Outclass().new InnerClass();
        Outclass.InnerClass innerclass2 =outclass.new InnerClass();
        innerclass2.methodinner();



    }

}
